#include<stdio.h>
#include<unistd.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdlib.h>


int main()
{
  //C
  printf("printf:hello world\n");
  fprintf(stdout,"fprintf:hello world\n");
  //system call
  const char* buf="write:hello world\n";
  write(1,buf,strlen(buf));

  fork();
  return 0;
}



//int main()
//{
//  int fd=open("log.txt",O_WRONLY | O_CREAT | O_APPEND,0666);
//  if(fd<0)  return 1;
//
//  dup2(fd,1);
//  printf("printf:hello world\n");
//  fprintf(stdout,"fprintf:hello world\n");
//
//  return 0;
//}
//



//int main()
//{
//  close(1);
//
//  int fd=open("log.txt",O_WRONLY | O_CREAT | O_TRUNC ,0666);
//  if(fd<0) return 1;
//  printf("printf:fd=%d\n",fd);
//  fprintf(stdout,"fprintf:fd=%d\n",fd);
//
//  //fflush(stdout);
//
//  //close(fd);
//  return 0;
//}








//int main()
//{
//  struct stat st;
//  int sd = stat("log.txt",&st);
//  if(sd==-1) return 1; 
//
//  int fd=open("log.txt",O_RDONLY);
//  if(fd<0) return 2;
//
//  char* buf=(char*)malloc(st.st_size+1);
//  int n=read(fd,buf,st.st_size);
//  printf("n=%d\n",n);
//  if(n>0)
//  {
//    buf[n]='\0';
//    printf("%s\n",buf);
//  }
//
//  free(buf);
//  return 0;
//}
//
//





//int main()
//{
//  int fd=open("log.txt",O_WRONLY | O_CREAT | O_TRUNC , 0666);
//  if(fd<0) return 1;
//
//  const char* buf="hello world\n";
//  write(fd,buf,strlen(buf));
//  write(fd,buf,strlen(buf));
//  write(fd,buf,strlen(buf));
//  write(fd,buf,strlen(buf));
//  write(fd,buf,strlen(buf));
//
//  close(fd);
//
//  return 0;
//}
